Image interpolation method and apparatus using reference block based on direction

ABSTRACT

Provided is an image interpolation method and apparatus using a reference block depending on a direction. The image interpolation method may generate a horizontal reference block and a vertical reference block each with respect to an inputted image, and determine interpolation directivity with respect to the inputted image using the generated horizontal reference block and vertical reference block, thereby performing an interpolation on an image based on accurate interpolation directivity. In particular, the image interpolation method may determine whether to verify interpolation directivity depending on an edge intensity of an inputted image, thereby performing a color filter array (CFA) interpolation on an image based on an edge direction without determining the interpolation directivity, when the edge intensity is strong.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the priority benefit of Korean PatentApplication No. 10-2009-0111249, filed on Nov. 18, 2009, in the KoreanIntellectual Property Office, the disclosure of which is incorporatedherein by reference.

BACKGROUND

1. Field

One or more embodiments relate to a technology for interpolating imagesusing a reference block depending on a direction.

2. Description of the Related Art

In currently commercialized digital cameras, an image sensor including acolor filter array (hereinafter, referred to as “CFA”) and an I-planeoptical sensor may be used. The CFA arranged in a Bayer pattern type mayfilter lights to enable only one signal of red (R), green (G), and blue(B) color elements to form in a single pixel.

In this manner, a process of restoring an RGB (red, green, and blue)full color image, that is, three pieces of R/G/B from the 1-plane imageobtained in the Bayer pattern type may be referred to as a CFAinterpolation algorithm or a CFA demosaicing algorithm. In general, alocal area of images may have a high spatial correlation characteristicand a high spectral correlation characteristic, which are utilized inthe CFA interpolation algorithm. However, when the high spatialcorrelation characteristic is not appropriately utilized in the CFAinterpolation algorithm, a defect such as zipper artifact may occur.Also, when the high spectral correlation characteristic is notappropriately utilized in the CFA interpolation algorithm, a defect suchas false color may occur.

For example, in a case of an image including a high frequency imagesignal such as an edge, defects such as the zipper artifact, the falsecolor, and the like may be easily induced. That is, when aninterpolation is performed in a direction that does not conform to anedge direction, the above described defects may frequently occur.

Accordingly, accurately estimating interpolation directivity byutilizing the above described two characteristics of the local area maybe a necessary condition for a high quality CFA interpolation.

SUMMARY

According to an aspect of one or more embodiments, there may be providedan image interpolation method, including: generating a horizontalreference block for an inputted image; generating a vertical referenceblock for the inputted image; and determining interpolation directivityfor the inputted image using the generated horizontal reference blockand vertical reference block, wherein the method may be performed usingat least one processor.

The generating of the horizontal reference block may include:designating a reference block from the inputted image; calculating ahorizontal compensation value for each row of the designated referenceblock; calculating a horizontal reference value by adding the calculatedhorizontal compensation value and an original pixel value; andgenerating the horizontal reference block by enabling the calculatedhorizontal reference value to correspond to the reference block.

Also, the calculating of the horizontal compensation value may include:calculating a horizontal interpolation value by performing a temporaryinterpolation on the designated reference block in a horizontaldirection; calculating an average between the calculated horizontalinterpolation value for each row of the reference block and the originalpixel value; and designating the calculated average as the horizontalcompensation value for each row of the reference block.

Also, the image interpolation method may further include: calculating adifference value between the horizontal interpolation value of thereference block and a horizontal reference value of the horizontalreference block corresponding to the horizontal interpolation value;summing-up an absolute value of the calculated difference value for allpixels of the horizontal reference block; and designating the summed-upresult value as a horizontal dissimilarity value.

Also, the generating of the vertical reference block may include:designating a reference block from the inputted image; calculating avertical compensation value for each column of the designated referenceblock; calculating a vertical reference value by adding the calculatedvertical compensation value and an original pixel value; and generatingthe vertical reference block by enabling the calculated verticalreference value to correspond to the reference block.

Also, the calculating of the vertical compensation value may include:calculating a vertical interpolation value by performing a temporaryinterpolation on the designated reference block in a vertical direction;calculating an average between the calculated horizontal interpolationvalue for each column of the reference block and the original pixelvalue; and designating the calculated average as the verticalcompensation value for each column of the reference block.

Also, the image interpolation method may further include: calculating adifference value between the vertical interpolation value of thereference block and a vertical reference value of the vertical referenceblock corresponding to the vertical interpolation value; summing-up anabsolute value of the calculated difference value for all pixels of thevertical reference block; and designating the summed-up result value asa vertical dissimilarity value.

Also, the determining of the interpolation directional property mayinclude: calculating a horizontal dissimilarity value using thegenerated horizontal reference block; calculating a verticaldissimilarity value using the generated vertical reference block; anddetermining, as the interpolation directivity, a direction having asmallest dissimilarity value from among the horizontal dissimilarityvalue and the vertical dissimilarity value.

Also, the image interpolation method may further include performing acolor filter array (CFA) interpolation on the inputted image inaccordance with the determined interpolation directivity.

According to another aspect of one or more embodiments, there may beprovided an image interpolation method, including: determining whetherto verify interpolation directivity depending on an edge intensity of aninputted image; calculating a degree of direction dissimilarity of areference block when being determined to verify the interpolationdirectivity; and predicting the interpolation directivity for theinputted image based on the direction of direction dissimilarity of thereference block, wherein the method may be performed using at least oneprocessor.

According to still another aspect of one or more embodiments, there maybe provided an image interpolation apparatus, including: an edgeintensity verifying unit to verify an edge intensity of an inputtedimage; a reference block generating unit to generate a horizontalreference block and a vertical reference block for the inputted imagebased on the verified result; and an interpolation directivitydetermining unit to determine an interpolation directivity for theinputted image using the generated horizontal reference block andvertical direction reference block using at least one processor.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects will become apparent and more readilyappreciated from the following description of embodiments, taken inconjunction with the accompanying drawings of which:

FIG. 1 is a flowchart illustrating an image interpolation methodaccording to an embodiment;

FIG. 2 illustrates an example of generating a horizontal reference blockaccording to an embodiment;

FIG. 3 illustrates an example of generating a vertical reference blockaccording to an embodiment;

FIGS. 4A, 4B, 5A, and 5B illustrate a difference between imagesinterpolated in accordance with a conventional method (4A and 5A) andthe present disclosure (4B and 5B); and

FIG. 6 is a block diagram illustrating an image interpolation apparatusaccording to an embodiment.

DETAILED DESCRIPTION

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings, wherein like referencenumerals refer to the like elements throughout. Embodiments aredescribed below to explain the present disclosure by referring to thefigures.

FIG. 1 is a flowchart illustrating an image interpolation methodaccording to an embodiment.

In operation 110, the image interpolation method may calculate ahorizontal gradient and a vertical gradient with respect to an inputtedimage (for an inputted image) (Bayer pattern image).

In operation 120, the image interpolation method may calculate an edgeintensity and an edge direction each with respect to the inputted image(for the inputted image).

When the calculated edge intensity is greater than a predeterminedthreshold in operation 130, the image interpolation method may determinewhether the edge direction is a vertical direction or a horizontaldirection in operation 140, and may determine interpolation directivityin the vertical direction or the horizontal direction based on thedetermined result in operations 150, 151, and 152. That is, when theedge intensity is greater than the threshold, since the edge intensityis relatively strong, an interpolation may be performed depending on theedge direction without determining the interpolation directivity.

However, when the edge intensity is less than the threshold, the imageinterpolation method may need to more accurately predict theinterpolation directivity. Accordingly, in operations 160 and 170, theimage interpolation method may generate a horizontal reference block anda vertical reference block.

Hereinafter, an example of generating the horizontal reference block andthe vertical reference block will be described with reference to FIGS. 2and 3.

Example of Generating Horizontal (H) Reference Block

FIG. 2 illustrates an example of generating a horizontal reference blockaccording to an embodiment.

Referring to FIG. 2, the image interpolation method may designate areference block 210 from the inputted image. For example, the referenceblock 210 may be a 5*5 block, and each of 25 pixels of the referenceblock 210 has an independent pixel value.

In operation 220, the image interpolation method may perform a temporaryinterpolation on the reference block 210 in a horizontal direction tocalculate horizontal interpolation values Gh₀, Gh₁, Gh₂, . . . , andGh₂₄. In this instance, the image interpolation method may perform atemporary interpolation on a green (G) channel, a red (R) channel, and ablue (B) channel. Herein, for convenience of descriptions, an example ofperforming a temporary interpolation on the G channel in a horizontaldirection to generate a horizontal reference block with respect to the Gchannel (for the G channel) will be described.

Next, in operation 230, the image interpolation method may calculate, ashorizontal compensation values C_(H0), C_(H1), C_(H2), C_(H3), andC_(H4) for each row, an average between the calculated horizontalinterpolation values (Gh) and original pixel values (R or B) for eachrow of row 0, row 1, row 2, row 3, and row 4 of the reference block 210.

For example, the image interpolation method may obtain the horizontalcompensation value C_(H0) of a first row by respectively subtractingoriginal pixel values R₀, R₂, and R₄ from the horizontal interpolationvalues Gh₀, Gh₂, and Gh₄, then summing-up the respectively subtractedvalues, and then dividing the summed-up value by 3(C_(H0)=(Gh₀−R₀+Gh₂−R₂+Gh₄−R₄)/3).

Also, the image interpolation method may obtain the horizontalcompensation value C_(H1) of a second row by respectively subtractingoriginal pixel values B₆ and B₈ from the horizontal interpolation valuesGh₆ and Gh₈, then summing-up the respectively subtracted values, andthen dividing the summed-up value by 2 (C_(H1)=(Gh₆−B₆+Gh₈−B₈)/2).

Also, the image interpolation method may obtain the horizontalcompensation value C_(H2) of a third row by respectively subtractingoriginal pixel values R₁₀, R₁₂, and R₁₄ from the horizontalinterpolation values Gh₁₀, Gh₁₂, and Gh₁₄, then summing-up therespectively subtracted values, and then dividing the summed-up value by3 (C_(H2)=(Gh_(H2)=(Gh₁₀−R₁₀+Gh₁₂−R₁₂+Gh₁₄−R₁₄)/3).

In this manner, the image interpolation method may obtain the horizontalcompensation values C_(H3) and C_(H4) of fourth and fifth rows.

Next, in operation 240, the image interpolation method may add thecalculated horizontal compensation values C_(H0), C_(H1), C_(H2),C_(H3), and C_(H4) and the original pixel values (R or B) to obtainhorizontal reference values G₀, G₂, G₄, . . . , and G₂₄.

For example, the image interpolation method may obtain the horizontalreference values G₀, G₂, and G₄ of a first row by adding the horizontalcompensation value C_(H0) to original pixel values R₀, R₂, and R₄. Thatis, the image interpolation method may add the horizontal compensationvalue C_(H0) to the original pixel R₀ value to calculate the horizontalreference value G₀ (G₀=R₀+C_(H0)), add the horizontal compensation valueC_(H0) to the original pixel value R₂ to calculate the horizontalreference value G₂ (G₂=R₂+C_(H0)), and add the horizontal compensationvalue C_(H0) to the original pixel value R₄ to calculate the horizontalreference value G₄ (G₄=R₄+C_(H0)).

Also, the image interpolation method may obtain the horizontal referencevalue G₆ of a second row by adding the horizontal compensation valueC_(H1) to an original pixel value B₆ (G₆=B₆+C_(H1)), and obtain thehorizontal reference value G₈ of the second row by adding the horizontalcompensation value C_(H1) to an original pixel value B₈ (G₈=B₈+C_(H1)).

In this manner, the image interpolation method may obtain the horizontalreference values G₁₀, G₁₂ . . . , and G₂₄ of third, fourth, and fifthrows.

Consequently, the image interpolation method may enable the obtainedhorizontal reference values to correspond to the reference block 210 tothereby generate a horizontal reference block 250. Accordingly, thereference block 250 may have the horizontal reference value G₀ withrespect to a pixel (for a pixel) (hereinafter, referred to as pixel ‘0’)corresponding to ‘0’, and have the horizontal reference value G₁ withrespect to a pixel (for a pixel) (hereinafter, referred to as pixel ‘1’)corresponding to ‘1’.

In this case, the image interpolation method may calculate horizontaldissimilarity values using the horizontal reference block 250. Accordingto an embodiment, the image interpolation method may calculatedifference values (Gh₀−G₀) between the horizontal interpolation valuesGh₀, Gh₂, and Gh₄ of the reference block 210 and horizontal referencevalues G₀, G₁, . . . , and G₂₄ of the horizontal reference block 250corresponding to the horizontal interpolation values, sum-up absolutevalues (|Gh₀−G₀|) of the calculated difference values with respect toall pixels (for all pixels) of the horizontal reference block, andcalculate the summed-up result as the horizontal dissimilarity values.

For example, the image interpolation method may calculate the differencevalue (Gh₀−G₀) by subtracting the horizontal reference value G₀ from thehorizontal interpolation value Gh₀, with respect to the pixel ‘0’ (forthe pixel ‘0’) of the 5*5 horizontal reference block 250, and obtain theabsolute value (|Gh₀−G₀|) of the calculated difference value.

Also, the image interpolation method may calculate the difference value(G₁−G₁) by subtracting the horizontal reference value G₁ from theoriginal pixel value G₁, with respect to the pixel ‘1’ (for the pixel‘1’), and obtain an absolute value (|G₁−G₁|) of the calculateddifference value. In this case, the absolute value with respect to thepixel ‘1’ (for the pixel ‘1’) may be ‘0’ corresponding to a differencebetween identical values.

Also, the image interpolation method may calculate a difference value(Gh₂−G₂) by subtracting the horizontal reference value G₂ from thehorizontal interpolation value Gh₂, with respect to a pixel (for apixel) (hereinafter, referred to as pixel ‘2’) corresponding to ‘2’, andobtain an absolute value (|Gh₂−G₂|) of the calculated difference value.In this manner, the image interpolation method may obtain absolutevalues with respect to all pixels (for all pixels) up to a pixelcorresponding to ‘24’ of which an absolute value is |Gh₂₄−G₂₄|.

Consequently, the image interpolation method may sum-up the respectiveabsolute values of the calculated difference values with respect to theall pixels (‘0’ to ‘24’) (for all pixels (‘0’ to ‘24’) of the horizontalreference block 250 (|Gh₀−G₀|+═Gh₂−G₂|+ . . . |Gh₂₄−G₂₄|), and calculatethe summed-up result as the horizontal dissimilarity values, that is, aSum of Absolute Difference Horizontal (SADH).

Example of Generating Vertical (V) Reference Block

FIG. 3 illustrates an example of generating a vertical reference blockaccording to an embodiment.

Referring to FIG. 3, the image interpolation method may designate areference block 310 from the inputted image. For example, the referenceblock 310 may be a 5*5 block, and each of 25 pixels of the referenceblock 310 has an independent pixel value.

In operation 320, the image interpolation method may perform a temporaryinterpolation on the reference block 310 in a vertical direction tocalculate vertical interpolation values Gv₀, Gv₁, Gv₂, . . . , and Gv₂₄.In operation 330, the image interpolation method may calculate, asvertical compensation values C_(V0), C_(V1), C_(V2), C_(V3), and C_(V4)for each column, an average between the calculated verticalinterpolation values (Gv) and original pixel values (R or B) for eachcolumn of column 0, column 1, column 2, column 3, and column 4 of thereference block 310.

For example, the image interpolation method may obtain, in the samemanner as that in the horizontal interpolation value, the verticalcompensation value C_(V0) of a first column by respectively subtractingoriginal pixel values R₀, R₁₀, and R₂₀ from vertical interpolationvalues Gv₀, Gv₁₀, and Gv₂₀, then summing-up the respectively subtractedvalues, and then dividing the summed-up value by 3(C_(V0)=(Gv₀−R₀+Gv₁₀−R₁₀+Gv₂₀−R₂₀)/3).

Also, the image interpolation method may obtain the verticalcompensation value C_(V1) of a second column by respectively subtractingoriginal pixel values B₆ and B₁₆ from vertical interpolation values Gv₆and Gv₁₆, then summing-up the respectively subtracted values, and thendividing the summed-up value by 2 (C_(V1)=(Gv₆−B₆+Gv₁₆−B₁₆)/2).

Also, the image interpolation method may obtain the verticalcompensation value C_(V2) of a third column by respectively subtractingoriginal pixel values R₂, R₁₂, and R₂₂ from vertical interpolationvalues Gv₂, Gv₁₂, and Gv₂₂, then summing-up the respectively subtractedvalues, and then dividing the summed-up value by 3(C_(V2)=(Gv₂−R₂+Gv₁₂−R₁₂+Gv₂₂−R₂₂)/3).

In this manner, the image interpolation method may obtain the verticalcompensation values Cv₃ and Cv₄ of fourth and fifth columns.

Next, in operation 340, the image interpolation method may add thecalculated vertical compensation values C_(V0), C_(V1), C_(V2), C_(V3),and C_(V4) to the original pixel values (R or B) to obtain verticalreference values G₀, G₂, G₄, . . . , and G₂₄.

For example, the image interpolation method may obtain the verticalreference values G₀, G₁₀, and G₂₀ of a first column by adding thevertical compensation value C_(V0) to original pixel values R₀, R₁₀, andR₂₀. That is, the image interpolation method may add the verticalcompensation value C_(V0) to the original pixel R₀ to calculate thevertical reference value G₀ (G₀=R₀+C_(V0)), add the verticalcompensation value C_(V0) to the original pixel value R₁₀ to calculatethe vertical reference value G₁₀ (G₁₀=R₁₀+C_(V0)), and add the verticalcompensation value C_(V0) to the original pixel value R₂₀ to calculatethe vertical reference value G₂₀ (G₂₀=R₂₀+C_(V0)).

Also, the image interpolation method may obtain the vertical referencevalue G₆ of a second column by adding the vertical compensation valueC_(V1) to an original pixel value B₆ (G₆=B₆+C_(V1)), and obtain thevertical reference value G₁₆ of the second column by adding thehorizontal compensation value C_(V1) to an original pixel value B₁₆(G₁₆=B₁₆+C_(V1)).

In this manner, the image interpolation method may obtain the verticalreference values G₂, G₁₂, . . . , and G₂₄ of third, fourth, and fifthcolumns.

Consequently, the image interpolation method may enable the obtainedvertical reference values to correspond to the reference block 310 tothereby generate a vertical reference block 350.

The image interpolation method may calculate a vertical dissimilarityvalue using the vertical reference block 350. According to anembodiment, the image interpolation method may calculate differencevalues (Gv₀−G₀) between the vertical interpolation values Gv₀, Gv₁₀, andGv₂₀ of the reference block 310 and vertical reference values G₀, G₁, .. . , and G₂₄ of the vertical reference block 350 corresponding to thevertical interpolation values, sum-up absolute values (|(Gv₀−G₀)|) ofthe calculated difference values with respect to all pixels (for allpixels) of the vertical reference block, and calculate the summed-upresult as the vertical dissimilarity values.

For example, the image interpolation method may calculate the differencevalue (Gv₀−G₀) by subtracting the vertical reference value G₀ from thevertical interpolation value Gv₀, with respect to a pixel ‘0’ (for apixel ‘0’) of the 5*5 vertical reference block 350, and obtain theabsolute value (|(Gv₀−G₀)|) of the calculated difference value.

Also, the image interpolation method may calculate the difference value(G₁−G₁) by subtracting the vertical reference value G₁ from the originalpixel value G₁, with respect to the pixel ‘1’ (for the pixel ‘1’), andobtain an absolute value (|G₁−G₁|) of the calculated difference value.In this case, the absolute value with respect to the pixel ‘1’ (for thepixel ‘1’) may be ‘0’ corresponding to a difference between identicalvalues.

Also, the image interpolation method may calculate a difference value(Gv₂−G₂) by subtracting the vertical reference value G₂ from thevertical interpolation value Gv₂, with respect to a pixel ‘2’ (for thepixel ‘2’), and obtain an absolute value (|Gv₂−G₂|) of the calculateddifference value. In this manner, the image interpolation method mayobtain absolute values with respect to all pixels (for all pixels) up toa pixel ‘24’ of which an absolute value is |Gv₂₄−G₂₄|.

Consequently, the image interpolation method may sum-up the respectiveabsolute values of the calculated difference values with respect to theall pixels (‘0’ to ‘24’) (for all pixels (‘0’ to ‘24’) of the verticalreference block 350 (|Gv₀−G₀|+|Gv₂−G₂|+ . . . +|Gv₂₄−G₂₄|), andcalculate the summed-up result as the vertical dissimilarity values,that is, a Sum of Absolute Difference Vertical (SADV).

In operation 180 of FIG. 1, the image interpolation method may determineinterpolation directivity with respect to the inputted image (for theinputted image) using the calculated horizontal dissimilarity values andvertical dissimilarity values. For example, in operations 181 and 182 ofFIG. 1, the image interpolation method may determine, as theinterpolation directivity, a direction having a smallest dissimilarityvalue from among the horizontal dissimilarity value and the verticaldissimilarity value.

In operation 190 of FIG. 1, the image interpolation method may perform acolor filter array (CFA) interpolation on the inputted image dependingon the determined interpolation directivity.

FIGS. 4A, 4B, 5A, and 5B illustrate a difference between imagesinterpolated in accordance with a conventional method (4A and 5A) andthe present disclosure (4B and 5B).

Referring to FIGS. 4A and 4B, in a conventional interpolation image 410(FIG. 4A), a defect such as a zipper artifact may occur compared with aninterpolation image 420 of the present disclosure (FIG. 4B). The zipperartifact may occur when a high spatial correlation characteristic is notappropriately utilized in a CFA interpolation algorithm.

Similarly, in FIGS. 5A and 5B, in a conventional interpolation image 510(FIG. 5A), a defect such as the zipper artifact may occur compared withan interpolation image 520 of the present disclosure (FIG. 5B). Also,although not illustrated, when a high spectral correlationcharacteristic is not appropriately utilized in the CFA interpolationalgorithm, a defect such as false color may occur. However, according tothe present disclosure, the interpolation directivity may be moreaccurately estimated and determined when an edge is relatively small andthus, the defects such as the zipper artifact or the false color, whichare induced due to errors occurring when estimating the interpolationdirectivity, may be reduced.

FIG. 6 is a block diagram illustrating an image interpolation apparatus600 according to an embodiment.

Referring to FIG. 6, the image interpolation apparatus 600 includes adirectional gradient generating unit 610, an edge intensity verifyingunit 620, a first interpolation directivity determining unit 630, areference block generating unit 640, a second interpolation directivitydetermining unit 650, and an image interpolating unit 660.

The directional gradient generating unit 610 may calculate a horizontalgradient and a vertical gradient each with respect to an inputted image(for an inputted image) (Bayer pattern image).

The edge intensity verifying unit 620 may verify an edge intensity ofthe inputted image. For example, when the edge intensity is greater thanor equal to a predetermined threshold, the edge intensity verifying unit620 may verify whether the edge direction is a vertical direction or ahorizontal direction to inform the first interpolation directivitydetermining unit 630 of the verified result. Otherwise, when the edgeintensity is smaller than the threshold, the edge intensity verifyingunit 620 may instruct the reference block generating unit 640 togenerate a horizontal reference block and a vertical reference block tomore accurately predict the interpolation directivity.

The reference block generating unit 640 may designate a reference blockfrom the inputted image, calculate a horizontal interpolation value byperforming a temporary interpolation on the designated reference blockin a horizontal direction, calculate, as a horizontal compensationvalue, an average between the calculated horizontal interpolation valuefor each row of the reference block and an original pixel value,calculate a horizontal reference value by adding the calculatedhorizontal compensation value and the original pixel value, and generatethe horizontal reference block by enabling the calculated horizontalreference value to correspond to the reference block.

Also, the reference block generating unit 640 may calculate a verticalinterpolation value by performing a temporary interpolation on thedesignated reference block in a vertical direction, calculate, as avertical compensation value, an average between the calculated verticalinterpolation value for each column of the reference block and anoriginal pixel value, calculate a vertical reference value by adding thecalculated vertical compensation value and the original pixel value, andgenerate the vertical reference block by enabling the calculatedvertical reference value to correspond to the reference block.

The second interpolation directivity determining unit 650 may determinethe interpolation directivity with respect to the image (for the image)using the generated horizontal reference block and vertical referenceblock. For example, the second interpolation directivity determiningunit 650 may calculate a horizontal dissimilarity value using thegenerated horizontal reference block, calculate a vertical dissimilarityvalue using the generated vertical reference block, and determine, asthe interpolation directivity, a direction having a smallestdissimilarity value from among the horizontal dissimilarity value andthe vertical dissimilarity value.

The image interpolating unit 660 may perform a CFA interpolation on theimage based on the determined interpolation directivity.

Descriptions of FIGS. 1 to 5 may be applicable in the imageinterpolation apparatus of FIG. 6, and thus further descriptions of FIG.6 will be omitted.

The above described image interpolation method may be recorded, stored,or fixed in one or more computer-readable storage media that includesprogram instructions to be implemented by a computer to cause aprocessor to execute or perform the program instructions. The media mayalso include, alone or in combination with the program instructions,data files, data structures, and the like. The media and programinstructions may be those specially designed and constructed, or theymay be of the kind well-known and available to those having skill in thecomputer software arts. Examples of computer-readable media includemagnetic media such as hard disks, floppy disks, and magnetic tape;optical media such as CD ROM disks and DVDs; magneto-optical media suchas optical disks; and hardware devices that are specially configured tostore and perform program instructions, such as read-only memory (ROM),random access memory (RAM), flash memory, and the like. Thecomputer-readable media may also be a distributed network, so that theprogram instructions are stored and executed in a distributed fashion.The program instructions may be executed by one or more processors. Thecomputer-readable media may also be embodied in at least one applicationspecific integrated circuit (ASIC) or Field Programmable Gate Array(FPGA), which executes (processes like a processor) programinstructions. Examples of program instructions include both machinecode, such as produced by a compiler, and files containing higher levelcode that may be executed by the computer using an interpreter. Thedescribed hardware devices may be configured to act as one or moresoftware modules in order to perform the operations and methodsdescribed above, or vice versa.

Although a few embodiments have been shown and described, it would beappreciated by those skilled in the art that changes may be made inthese embodiments without departing from the principles and spirit ofthe disclosure, the scope of which is defined in the claims and theirequivalents.

What is claimed is:
 1. An image interpolation method, comprising:generating a horizontal reference block for an inputted image;generating a vertical reference block for the inputted image; anddetermining interpolation directivity for the inputted image using thegenerated horizontal reference block and vertical reference block,wherein the method is performed using at least one processor.
 2. Theimage interpolation method of claim 1, wherein the generating of thehorizontal reference block comprises: designating a reference block fromthe inputted image; calculating a horizontal compensation value for eachrow of the designated reference block; calculating a horizontalreference value by adding the calculated horizontal compensation valueand an original pixel value; and generating the horizontal referenceblock by enabling the calculated horizontal reference value tocorrespond to the reference block.
 3. The image interpolation method ofclaim 2, wherein the calculating of the horizontal compensation valuecomprises: calculating a horizontal interpolation value by performing atemporary interpolation on the designated reference block in ahorizontal direction; calculating an average between the calculatedhorizontal interpolation value for each row of the reference block andthe original pixel value; and designating the calculated average as thehorizontal compensation value for each row of the reference block. 4.The image interpolation method of claim 2, further comprising:calculating a difference value between the horizontal interpolationvalue of the reference block and a horizontal reference value of thehorizontal reference block corresponding to the horizontal interpolationvalue; summing-up an absolute value of the calculated difference valuefor all pixels of the horizontal reference block; and designating thesummed-up result value as a horizontal dissimilarity value.
 5. The imageinterpolation method of claim 1, wherein the generating of the verticalreference block comprises: designating a reference block from theinputted image; calculating a vertical compensation value for eachcolumn of the designated reference block; calculating a verticalreference value by adding the calculated vertical compensation value andan original pixel value; and generating the vertical reference block byenabling the calculated vertical reference value to correspond to thereference block.
 6. The image interpolation method of claim 5, whereinthe calculating of the vertical compensation value comprises:calculating a vertical interpolation value by performing a temporaryinterpolation on the designated reference block in a vertical direction;calculating an average between the calculated horizontal interpolationvalue for each column of the reference block and the original pixelvalue; and designating the calculated average as the verticalcompensation value for each column of the reference block.
 7. The imageinterpolation method of claim 5, further comprising: calculating adifference value between the vertical interpolation value of thereference block and a vertical reference value of the vertical referenceblock corresponding to the vertical interpolation value; summing-up anabsolute value of the calculated difference value for all pixels of thevertical reference block; and designating the summed-up result value asa vertical dissimilarity value.
 8. The image interpolation method ofclaim 1, wherein the determining of the interpolation directionalproperty comprises: calculating a horizontal dissimilarity value usingthe generated horizontal reference block; calculating a verticaldissimilarity value using the generated vertical reference block; anddetermining, as the interpolation directivity, a direction having asmallest dissimilarity value from among the horizontal dissimilarityvalue and the vertical dissimilarity value.
 9. The image interpolationmethod of claim 1, further comprising: performing a color filter array(CFA) interpolation on the inputted image in accordance with thedetermined interpolation directivity.
 10. At least one non-transitorycomputer-readable medium comprising computer readable instructionsimplementing the method of claim
 1. 11. An image interpolation method,comprising: determining whether to verify interpolation directivitydepending on an edge intensity of an inputted image; calculating adegree of direction dissimilarity of a reference block when beingdetermined to verify the interpolation directivity; and predicting theinterpolation directivity for the inputted image based on the directionof direction dissimilarity of the reference block, wherein the method isperformed using at least one processor.
 12. The image interpolationmethod of claim 11, wherein the determining of whether to verify theinterpolation directivity comprises: performing a color filter array(CFA) interpolation on the inputted image in accordance with an edgedirection without verifying the interpolation directivity, when the edgeintensity is greater than a predetermined threshold.
 13. The imageinterpolation method of claim 11, wherein the calculating of the degreeof direction dissimilarity of the reference block comprises: generatinga horizontal reference block by performing a temporary interpolation, ina horizontal direction, on a reference block designated from theinputted image; generating a vertical reference block by performing atemporary interpolation, in a vertical direction, on the designatedreference block; and calculating the degree of direction dissimilarityof the reference block based on the generated horizontal reference blockand vertical reference block.
 14. The image interpolation method ofclaim 13, wherein the predicting of the interpolation directivitycomprises: calculating a horizontal dissimilarity value using thegenerated horizontal reference block; calculating a verticaldissimilarity value using the generated vertical reference block; andpredicting, as the interpolation directivity, a direction having asmallest dissimilarity value from among the horizontal dissimilarityvalue and the vertical dissimilarity value.
 15. An image interpolationapparatus, comprising: an edge intensity verifying unit to verify anedge intensity of an inputted image; a reference block generating unitto generate a horizontal reference block and a vertical reference blockfor the inputted image based on the verified result; and aninterpolation directivity determining unit to determine an interpolationdirectivity for the inputted image using the generated horizontalreference block and vertical direction reference block using at leastone processor.
 16. The image interpolation apparatus of claim 15,wherein the reference block generating unit designates a reference blockfrom the inputted image, calculates a horizontal interpolation value byperforming a temporary interpolation on the designated reference blockin a horizontal direction, calculates, as a horizontal compensationvalue, an average between the calculated horizontal interpolation valuefor each row of the reference block and an original pixel value,calculates a horizontal reference value by adding the calculatedhorizontal compensation value and the original pixel value, andgenerates the horizontal reference block by enabling the calculatedhorizontal reference value to correspond to the reference block.
 17. Theimage interpolation apparatus of claim 15, wherein the reference blockgenerating unit designates a reference block from the inputted image,calculates a vertical interpolation value by performing a temporaryinterpolation on the designated reference block in a vertical direction,calculates, as a vertical compensation value, an average between thecalculated vertical interpolation value for each column of the referenceblock and an original pixel value, calculates a vertical reference valueby adding the calculated vertical compensation value and the originalpixel value, and generates the vertical reference block by enabling thecalculated vertical reference value to correspond to the referenceblock.
 18. The image interpolation apparatus of claim 15, wherein theinterpolation directivity determining unit calculates a horizontaldissimilarity value using the generated horizontal reference block,calculates a vertical dissimilarity value using the generated verticalreference block, and determines, as the interpolation directivity, adirection having a smallest dissimilarity value from among thehorizontal dissimilarity value and the vertical dissimilarity value. 19.The image interpolation apparatus of claim 15, further comprising: animage interpolating unit to perform a CFA interpolation on the inputtedimage based on the determined interpolation directivity.